package com.jeesite.modules.exam.quota.entity;

import javax.validation.constraints.Size;
import com.jeesite.common.entity.BaseEntity;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;
import lombok.AllArgsConstructor;
import lombok.Builder;

import java.util.List;

/**
 * 考核任务指标汇总表Entity
 * @author xhc
 * @version 2022-06-07
 */
@Table(name="dc_sup_exam_sum_quota", alias="a", label="考核任务指标汇总表信息", columns={
		@Column(name="id", attrName="id", label="主键", isPK=true),
		@Column(name="exam_id", attrName="examId", label="考核任务id"),
		@Column(name="sum_status", attrName="sumStatus", label="汇总状态", comment="汇总状态（0删除、1已保存、2已发布）"),
		@Column(name="version_number", attrName="versionNumber", label="版本号", isUpdateForce=true),
		@Column(name="version_name", attrName="versionName", label="版本名称", queryType=QueryType.LIKE),
		@Column(name="create_by", attrName="createBy", label="创建人", isUpdate=false, isQuery=false),
		@Column(name="create_date", attrName="createDate", label="创建时间", isUpdate=false, isQuery=false, isUpdateForce=true),
		@Column(name="update_by", attrName="updateBy", label="更新人", isQuery=false),
		@Column(name="update_date", attrName="updateDate", label="更新时间", isQuery=false, isUpdateForce=true),
		@Column(name="remarks", attrName="remarks", label="备注", queryType=QueryType.LIKE),
		@Column(includeEntity=BaseEntity.class),
		@Column(name="remarks1", attrName="remarks1", label="备用字段1", queryType=QueryType.LIKE, isUpdateForce=true),
		@Column(name="remarks2", attrName="remarks2", label="备用字段2", queryType=QueryType.LIKE),
		@Column(name="remarks3", attrName="remarks3", label="备用字段3", queryType=QueryType.LIKE),
		@Column(name="remarks4", attrName="remarks4", label="备用字段4", queryType=QueryType.LIKE),
		@Column(name="file_status", attrName="fileStatus", label="细则状态（1细则未补充、2细则已补充、3细则审核驳回、4细则审核通过）", queryType=QueryType.LIKE),
		@Column(name="file_back_opinion", attrName="fileBackOpinion", label="细则驳回意见", queryType=QueryType.LIKE),

}, orderBy="a.update_date DESC"
)
@Builder
@AllArgsConstructor
public class DcSupExamSumQuota extends DataEntity<DcSupExamSumQuota> {

	private static final long serialVersionUID = 1L;
	/**
	 * 考核任务id
	 */
	private String examId;
	/**
	 * 汇总状态（0删除、1已保存、2已发布）
	 */
	private String sumStatus;
	/**
	 * 版本号
	 */
	private Long versionNumber;
	/**
	 * 版本名称
	 */
	private String versionName;
	/**
	 * 备用字段1
	 */
	private Long remarks1;
	/**
	 * 备用字段2
	 */
	private String remarks2;
	/**
	 * 备用字段3
	 */
	private String remarks3;
	/**
	 * 备用字段4
	 */
	private String remarks4;
	private String types;

	private String fileStatus;

	private String fileBackOpinion;

	public String getTypes() {
		return types;
	}

	public void setTypes(String types) {
		this.types = types;
	}

	public DcSupExamSumQuota() {
		this(null);
	}

	public DcSupExamSumQuota(String id){
		super(id);
	}

	@Size(min=0, max=64, message="考核任务id长度不能超过 64 个字符")
	public String getExamId() {
		return examId;
	}

	public void setExamId(String examId) {
		this.examId = examId;
	}

	@Size(min=0, max=10, message="汇总状态长度不能超过 10 个字符")
	public String getSumStatus() {
		return sumStatus;
	}

	public void setSumStatus(String sumStatus) {
		this.sumStatus = sumStatus;
	}

	public Long getVersionNumber() {
		return versionNumber;
	}

	public void setVersionNumber(Long versionNumber) {
		this.versionNumber = versionNumber;
	}

	@Size(min=0, max=100, message="版本名称长度不能超过 100 个字符")
	public String getVersionName() {
		return versionName;
	}

	public void setVersionName(String versionName) {
		this.versionName = versionName;
	}

	public Long getRemarks1() {
		return remarks1;
	}

	public void setRemarks1(Long remarks1) {
		this.remarks1 = remarks1;
	}

	@Size(min=0, max=200, message="备用字段2长度不能超过 200 个字符")
	public String getRemarks2() {
		return remarks2;
	}

	public void setRemarks2(String remarks2) {
		this.remarks2 = remarks2;
	}

	@Size(min=0, max=200, message="备用字段3长度不能超过 200 个字符")
	public String getRemarks3() {
		return remarks3;
	}

	public void setRemarks3(String remarks3) {
		this.remarks3 = remarks3;
	}

	@Size(min=0, max=200, message="备用字段4长度不能超过 200 个字符")
	public String getRemarks4() {
		return remarks4;
	}

	public void setRemarks4(String remarks4) {
		this.remarks4 = remarks4;
	}

	private List<String> exportColumn; // 下载列选择

	public List<String> getExportColumn() {
		return exportColumn;
	}

	public void setExportColumn(List<String> exportColumn) {
		this.exportColumn = exportColumn;
	}

}